/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.uca.dss.curso2011.grupo5;

/**
 * Esta clase se utiliza para la comprobacion de los argumentos pasados a las funciones.
 * @author Migue
 */
public class Args {

    private Args(){}
    
    /**
     * Comprueba si la cadena esta vacia o es nula
     * @param cadena cadena que se quiere comprobar
     * @throws IllegalArgumentException
     */
    public static void comprobarCadena(String cadena) throws IllegalArgumentException
    {
        if(!tieneContenido(cadena))
        {
            throw new IllegalArgumentException("La cadena no tiene contenido");
        }
    }

    /**
     * Comprueba si un objeto es nulo
     * @param objeto objeto que se quiere comprobar
     * @throws IllegalArgumentException
     */
    public static void comprobarNulo(Object objeto) throws IllegalArgumentException
    {
        if(objeto == null)
        {
            throw new IllegalArgumentException("Objeto nulo");
        }
    }

    /**
     * Comprueba si la cadena no esta vacia y no es nula
     * @param cadena cadena que se quiere comprobar
     * @return true si no está vacia y si no es nula
     */
    private static boolean tieneContenido(String cadena)
    {
        String CADENA_VACIA = "";

        return (cadena != null) && (!cadena.trim().equals(CADENA_VACIA));
    }

    /**
     * Comprueba si el entero es mayor que uno
     * @param num entero que se quiere comprobar
     * @throws IllegalArgumentException
     */
    public static void comprobarNumeral(int num) throws IllegalArgumentException
    {
        if(num < 1)
        {
            throw new IllegalArgumentException("El número es menor que 1");
        }
    }

    /**
     * Comprueba si el real es mayor que uno
     * @param num real que se quiere comprobar
     * @throws IllegalArgumentException
     */
    public static void comprobarNumeral(float num) throws IllegalArgumentException
    {
        if(num < 1)
        {
            throw new IllegalArgumentException("El número es menor que 1");
        }
    }
}
